home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
F1 Licenseware
/
F1 Licenseware - Volume 1.iso
/
disks
/
055a.dms
/
055a.adf
/
ARTS
/
bug_hunt.asc
< prev
next >
Wrap
Text File
|
1992-02-26
|
3KB
|
82 lines
@2 AMOS PRO
B U G H U N T
-------------------@1
CONTRIBUTOR: Edmund Clay
-----------------------@3
This is a further report on the bugs that I sent in several months
ago. (look, I'm trying to multitask with Amoszine as I write this and
it's a nightmare because Amos is grabbing all the processor time.
There, killed it. I'll have to refer back later. Hint - please put a
multiwait command in the main loop to give other programs a chance to
run.) Anyway, here are the bugs.
@1
1. This was about hardware to screen coordinate conversion and
sprite-bob collision detection ignoring the screen offset. Obviously,
the coordinates are easy to fix by just subtracting the offset. Bobs
are a bit more difficult to deal with. What I eventually did was to
write a procedure which found the X and Y size of a bob and did the
collision detection based on rectangular zones around the objects.
Crude, but it works.
@2
2. I think I will forget that Comptest even exists.
@3
3. I don't think that the ppacker decrunch colour can be changed by
anything short of an extension. This is after dissecting a few packed
banks and finding that the decrunch colour option is not stored in the
bank itself, but caused by Amos when it calls the powerpacker library.
However, I will be forever grateful to Andrew Smith for the palette
grabbing procedure. I have rid myself of that horrible blue colour once
and for all. (I hope.)
@1
4. Med still stops when a bank is loaded. On finding some bugs in my
med-with-samples program I have updated it; it should be on this disk.
@2
5. This one is not a real problem, but the procedure suggested in AZ#4
won't work. Try this:
Procedure _DELBOB[S,F]
For A=S to F
Del Bob S
Next
End proc
It may look as if the same bob is being deleted every time, but in
fact after each bob is deleted the others all move down a place, so
each is deleted in turn. To truncate a bob bank to length l, why not
use:
While length(1)>l : Del Bob L+1 : Wend
@3
6. I would suggest one alteration to Andrew's program to deal with
negative numbers in numerical edit zones. If you are dealing with
small numbers, only change a number if it is greater than 2530 (-1
comes out as 2531). You can actually make a number negative without
resorting to logic functions by using NUMBER=(-1)*NUMBER.
@1
7. When using Every, you can't have a wait longer than the Every
period. A replacement for the wait command in this instance is:
Procedure _WA1T[N]
T=Timer
While Timer-T<N : Multiwait : wend
End proc
The Multiwait is only needed if you want to multitask (ie. unless
you are using Amos Lock and Close Workbench).
Those are the old bugs, here are some new ones:
@2
8. NT Play bank,pattern ignores the pattern and starts from the
beginning. Fortunately there are other ways of playing modules, such
as CRAFT's ST Play command.
@3
9. Whenever I compile a program with the Amos to back option turned
on, it crashes.
@1
Thanks Ed. Anyone else who would like to contribute, please do so!